﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

// Reviewed

#pragma once
#include "GcmpGeometryInterface.h"

namespace gcmp
{
    class IFace;
    class IPolygon;
    class IBody;

    /// \brief 几何对象属性计算类，用于计算几何对象的属性
    ///
    class GCMP_GEOMETRY_INTERFACE_EXPORT AlgorithmProperty
    {
    public:
        /// \brief 计算拓扑面的面积
        /// \param   pFace     拓扑面
        /// \return  面积
        static double GetArea(const IFace* pFace);
   
        /// \brief  计算多边形的面积
        /// \param   pPolygon    多边形
        /// \return  面积
        static double GetArea(const IPolygon* pPolygon);

        /// \brief  计算体的体积
        /// \param  pBody    体
        /// \return 体积
        static double GetVolume(const IBody* pBody);
    };
}



